#ifndef __SPREAD_H
#define __SPREAD_H

//STM32F405RGTX Bit Band

#define PAO00 ((volatile unsigned int*)(0x42400280))
#define PAO01 ((volatile unsigned int*)(0x42400284))
#define PAO02 ((volatile unsigned int*)(0x42400288))
#define PAO03 ((volatile unsigned int*)(0x4240028c))
#define PAO04 ((volatile unsigned int*)(0x42400290))
#define PAO05 ((volatile unsigned int*)(0x42400294))
#define PAO06 ((volatile unsigned int*)(0x42400298))
#define PAO07 ((volatile unsigned int*)(0x4240029c))
#define PAO08 ((volatile unsigned int*)(0x424002a0))
#define PAO09 ((volatile unsigned int*)(0x424002a4))
#define PAO10 ((volatile unsigned int*)(0x424002a8))
#define PAO11 ((volatile unsigned int*)(0x424002ac))
#define PAO12 ((volatile unsigned int*)(0x424002b0))
#define PAO13 ((volatile unsigned int*)(0x424002b4))
#define PAO14 ((volatile unsigned int*)(0x424002b8))
#define PAO15 ((volatile unsigned int*)(0x424002bc))
#define PBO00 ((volatile unsigned int*)(0x42408280))
#define PBO01 ((volatile unsigned int*)(0x42408284))
#define PBO02 ((volatile unsigned int*)(0x42408288))
#define PBO03 ((volatile unsigned int*)(0x4240828c))
#define PBO04 ((volatile unsigned int*)(0x42408290))
#define PBO05 ((volatile unsigned int*)(0x42408294))
#define PBO06 ((volatile unsigned int*)(0x42408298))
#define PBO07 ((volatile unsigned int*)(0x4240829c))
#define PBO08 ((volatile unsigned int*)(0x424082a0))
#define PBO09 ((volatile unsigned int*)(0x424082a4))
#define PBO10 ((volatile unsigned int*)(0x424082a8))
#define PBO11 ((volatile unsigned int*)(0x424082ac))
#define PBO12 ((volatile unsigned int*)(0x424082b0))
#define PBO13 ((volatile unsigned int*)(0x424082b4))
#define PBO14 ((volatile unsigned int*)(0x424082b8))
#define PBO15 ((volatile unsigned int*)(0x424082bc))
#define PCO00 ((volatile unsigned int*)(0x42410280))
#define PCO01 ((volatile unsigned int*)(0x42410284))
#define PCO02 ((volatile unsigned int*)(0x42410288))
#define PCO03 ((volatile unsigned int*)(0x4241028c))
#define PCO04 ((volatile unsigned int*)(0x42410290))
#define PCO05 ((volatile unsigned int*)(0x42410294))
#define PCO06 ((volatile unsigned int*)(0x42410298))
#define PCO07 ((volatile unsigned int*)(0x4241029c))
#define PCO08 ((volatile unsigned int*)(0x424102a0))
#define PCO09 ((volatile unsigned int*)(0x424102a4))
#define PCO10 ((volatile unsigned int*)(0x424102a8))
#define PCO11 ((volatile unsigned int*)(0x424102ac))
#define PCO12 ((volatile unsigned int*)(0x424102b0))
#define PCO13 ((volatile unsigned int*)(0x424102b4))
#define PCO14 ((volatile unsigned int*)(0x424102b8))
#define PCO15 ((volatile unsigned int*)(0x424102bc))
#define PDO00 ((volatile unsigned int*)(0x42418280))
#define PDO01 ((volatile unsigned int*)(0x42418284))
#define PDO02 ((volatile unsigned int*)(0x42418288))
#define PDO03 ((volatile unsigned int*)(0x4241828c))
#define PDO04 ((volatile unsigned int*)(0x42418290))
#define PDO05 ((volatile unsigned int*)(0x42418294))
#define PDO06 ((volatile unsigned int*)(0x42418298))
#define PDO07 ((volatile unsigned int*)(0x4241829c))
#define PDO08 ((volatile unsigned int*)(0x424182a0))
#define PDO09 ((volatile unsigned int*)(0x424182a4))
#define PDO10 ((volatile unsigned int*)(0x424182a8))
#define PDO11 ((volatile unsigned int*)(0x424182ac))
#define PDO12 ((volatile unsigned int*)(0x424182b0))
#define PDO13 ((volatile unsigned int*)(0x424182b4))
#define PDO14 ((volatile unsigned int*)(0x424182b8))
#define PDO15 ((volatile unsigned int*)(0x424182bc))
#define PEO00 ((volatile unsigned int*)(0x42420280))
#define PEO01 ((volatile unsigned int*)(0x42420284))
#define PEO02 ((volatile unsigned int*)(0x42420288))
#define PEO03 ((volatile unsigned int*)(0x4242028c))
#define PEO04 ((volatile unsigned int*)(0x42420290))
#define PEO05 ((volatile unsigned int*)(0x42420294))
#define PEO06 ((volatile unsigned int*)(0x42420298))
#define PEO07 ((volatile unsigned int*)(0x4242029c))
#define PEO08 ((volatile unsigned int*)(0x424202a0))
#define PEO09 ((volatile unsigned int*)(0x424202a4))
#define PEO10 ((volatile unsigned int*)(0x424202a8))
#define PEO11 ((volatile unsigned int*)(0x424202ac))
#define PEO12 ((volatile unsigned int*)(0x424202b0))
#define PEO13 ((volatile unsigned int*)(0x424202b4))
#define PEO14 ((volatile unsigned int*)(0x424202b8))
#define PEO15 ((volatile unsigned int*)(0x424202bc))
#define PFO00 ((volatile unsigned int*)(0x42428280))
#define PFO01 ((volatile unsigned int*)(0x42428284))
#define PFO02 ((volatile unsigned int*)(0x42428288))
#define PFO03 ((volatile unsigned int*)(0x4242828c))
#define PFO04 ((volatile unsigned int*)(0x42428290))
#define PFO05 ((volatile unsigned int*)(0x42428294))
#define PFO06 ((volatile unsigned int*)(0x42428298))
#define PFO07 ((volatile unsigned int*)(0x4242829c))
#define PFO08 ((volatile unsigned int*)(0x424282a0))
#define PFO09 ((volatile unsigned int*)(0x424282a4))
#define PFO10 ((volatile unsigned int*)(0x424282a8))
#define PFO11 ((volatile unsigned int*)(0x424282ac))
#define PFO12 ((volatile unsigned int*)(0x424282b0))
#define PFO13 ((volatile unsigned int*)(0x424282b4))
#define PFO14 ((volatile unsigned int*)(0x424282b8))
#define PFO15 ((volatile unsigned int*)(0x424282bc))
#define PGO00 ((volatile unsigned int*)(0x42430280))
#define PGO01 ((volatile unsigned int*)(0x42430284))
#define PGO02 ((volatile unsigned int*)(0x42430288))
#define PGO03 ((volatile unsigned int*)(0x4243028c))
#define PGO04 ((volatile unsigned int*)(0x42430290))
#define PGO05 ((volatile unsigned int*)(0x42430294))
#define PGO06 ((volatile unsigned int*)(0x42430298))
#define PGO07 ((volatile unsigned int*)(0x4243029c))
#define PGO08 ((volatile unsigned int*)(0x424302a0))
#define PGO09 ((volatile unsigned int*)(0x424302a4))
#define PGO10 ((volatile unsigned int*)(0x424302a8))
#define PGO11 ((volatile unsigned int*)(0x424302ac))
#define PGO12 ((volatile unsigned int*)(0x424302b0))
#define PGO13 ((volatile unsigned int*)(0x424302b4))
#define PGO14 ((volatile unsigned int*)(0x424302b8))
#define PGO15 ((volatile unsigned int*)(0x424302bc))
#define PHO00 ((volatile unsigned int*)(0x42438280))
#define PHO01 ((volatile unsigned int*)(0x42438284))
#define PHO02 ((volatile unsigned int*)(0x42438288))
#define PHO03 ((volatile unsigned int*)(0x4243828c))
#define PHO04 ((volatile unsigned int*)(0x42438290))
#define PHO05 ((volatile unsigned int*)(0x42438294))
#define PHO06 ((volatile unsigned int*)(0x42438298))
#define PHO07 ((volatile unsigned int*)(0x4243829c))
#define PHO08 ((volatile unsigned int*)(0x424382a0))
#define PHO09 ((volatile unsigned int*)(0x424382a4))
#define PHO10 ((volatile unsigned int*)(0x424382a8))
#define PHO11 ((volatile unsigned int*)(0x424382ac))
#define PHO12 ((volatile unsigned int*)(0x424382b0))
#define PHO13 ((volatile unsigned int*)(0x424382b4))
#define PHO14 ((volatile unsigned int*)(0x424382b8))
#define PHO15 ((volatile unsigned int*)(0x424382bc))
#define PIO00 ((volatile unsigned int*)(0x42440280))
#define PIO01 ((volatile unsigned int*)(0x42440284))
#define PIO02 ((volatile unsigned int*)(0x42440288))
#define PIO03 ((volatile unsigned int*)(0x4244028c))
#define PIO04 ((volatile unsigned int*)(0x42440290))
#define PIO05 ((volatile unsigned int*)(0x42440294))
#define PIO06 ((volatile unsigned int*)(0x42440298))
#define PIO07 ((volatile unsigned int*)(0x4244029c))
#define PIO08 ((volatile unsigned int*)(0x424402a0))
#define PIO09 ((volatile unsigned int*)(0x424402a4))
#define PIO10 ((volatile unsigned int*)(0x424402a8))
#define PIO11 ((volatile unsigned int*)(0x424402ac))
#define PIO12 ((volatile unsigned int*)(0x424402b0))
#define PIO13 ((volatile unsigned int*)(0x424402b4))
#define PIO14 ((volatile unsigned int*)(0x424402b8))
#define PIO15 ((volatile unsigned int*)(0x424402bc))


#define PAI00 ((volatile unsigned int*)(0x42400200))
#define PAI01 ((volatile unsigned int*)(0x42400204))
#define PAI02 ((volatile unsigned int*)(0x42400208))
#define PAI03 ((volatile unsigned int*)(0x4240020c))
#define PAI04 ((volatile unsigned int*)(0x42400210))
#define PAI05 ((volatile unsigned int*)(0x42400214))
#define PAI06 ((volatile unsigned int*)(0x42400218))
#define PAI07 ((volatile unsigned int*)(0x4240021c))
#define PAI08 ((volatile unsigned int*)(0x42400220))
#define PAI09 ((volatile unsigned int*)(0x42400224))
#define PAI10 ((volatile unsigned int*)(0x42400228))
#define PAI11 ((volatile unsigned int*)(0x4240022c))
#define PAI12 ((volatile unsigned int*)(0x42400230))
#define PAI13 ((volatile unsigned int*)(0x42400234))
#define PAI14 ((volatile unsigned int*)(0x42400238))
#define PAI15 ((volatile unsigned int*)(0x4240023c))
#define PBI00 ((volatile unsigned int*)(0x42408200))
#define PBI01 ((volatile unsigned int*)(0x42408204))
#define PBI02 ((volatile unsigned int*)(0x42408208))
#define PBI03 ((volatile unsigned int*)(0x4240820c))
#define PBI04 ((volatile unsigned int*)(0x42408210))
#define PBI05 ((volatile unsigned int*)(0x42408214))
#define PBI06 ((volatile unsigned int*)(0x42408218))
#define PBI07 ((volatile unsigned int*)(0x4240821c))
#define PBI08 ((volatile unsigned int*)(0x42408220))
#define PBI09 ((volatile unsigned int*)(0x42408224))
#define PBI10 ((volatile unsigned int*)(0x42408228))
#define PBI11 ((volatile unsigned int*)(0x4240822c))
#define PBI12 ((volatile unsigned int*)(0x42408230))
#define PBI13 ((volatile unsigned int*)(0x42408234))
#define PBI14 ((volatile unsigned int*)(0x42408238))
#define PBI15 ((volatile unsigned int*)(0x4240823c))
#define PCI00 ((volatile unsigned int*)(0x42410200))
#define PCI01 ((volatile unsigned int*)(0x42410204))
#define PCI02 ((volatile unsigned int*)(0x42410208))
#define PCI03 ((volatile unsigned int*)(0x4241020c))
#define PCI04 ((volatile unsigned int*)(0x42410210))
#define PCI05 ((volatile unsigned int*)(0x42410214))
#define PCI06 ((volatile unsigned int*)(0x42410218))
#define PCI07 ((volatile unsigned int*)(0x4241021c))
#define PCI08 ((volatile unsigned int*)(0x42410220))
#define PCI09 ((volatile unsigned int*)(0x42410224))
#define PCI10 ((volatile unsigned int*)(0x42410228))
#define PCI11 ((volatile unsigned int*)(0x4241022c))
#define PCI12 ((volatile unsigned int*)(0x42410230))
#define PCI13 ((volatile unsigned int*)(0x42410234))
#define PCI14 ((volatile unsigned int*)(0x42410238))
#define PCI15 ((volatile unsigned int*)(0x4241023c))
#define PDI00 ((volatile unsigned int*)(0x42418200))
#define PDI01 ((volatile unsigned int*)(0x42418204))
#define PDI02 ((volatile unsigned int*)(0x42418208))
#define PDI03 ((volatile unsigned int*)(0x4241820c))
#define PDI04 ((volatile unsigned int*)(0x42418210))
#define PDI05 ((volatile unsigned int*)(0x42418214))
#define PDI06 ((volatile unsigned int*)(0x42418218))
#define PDI07 ((volatile unsigned int*)(0x4241821c))
#define PDI08 ((volatile unsigned int*)(0x42418220))
#define PDI09 ((volatile unsigned int*)(0x42418224))
#define PDI10 ((volatile unsigned int*)(0x42418228))
#define PDI11 ((volatile unsigned int*)(0x4241822c))
#define PDI12 ((volatile unsigned int*)(0x42418230))
#define PDI13 ((volatile unsigned int*)(0x42418234))
#define PDI14 ((volatile unsigned int*)(0x42418238))
#define PDI15 ((volatile unsigned int*)(0x4241823c))
#define PEI00 ((volatile unsigned int*)(0x42420200))
#define PEI01 ((volatile unsigned int*)(0x42420204))
#define PEI02 ((volatile unsigned int*)(0x42420208))
#define PEI03 ((volatile unsigned int*)(0x4242020c))
#define PEI04 ((volatile unsigned int*)(0x42420210))
#define PEI05 ((volatile unsigned int*)(0x42420214))
#define PEI06 ((volatile unsigned int*)(0x42420218))
#define PEI07 ((volatile unsigned int*)(0x4242021c))
#define PEI08 ((volatile unsigned int*)(0x42420220))
#define PEI09 ((volatile unsigned int*)(0x42420224))
#define PEI10 ((volatile unsigned int*)(0x42420228))
#define PEI11 ((volatile unsigned int*)(0x4242022c))
#define PEI12 ((volatile unsigned int*)(0x42420230))
#define PEI13 ((volatile unsigned int*)(0x42420234))
#define PEI14 ((volatile unsigned int*)(0x42420238))
#define PEI15 ((volatile unsigned int*)(0x4242023c))
#define PFI00 ((volatile unsigned int*)(0x42428200))
#define PFI01 ((volatile unsigned int*)(0x42428204))
#define PFI02 ((volatile unsigned int*)(0x42428208))
#define PFI03 ((volatile unsigned int*)(0x4242820c))
#define PFI04 ((volatile unsigned int*)(0x42428210))
#define PFI05 ((volatile unsigned int*)(0x42428214))
#define PFI06 ((volatile unsigned int*)(0x42428218))
#define PFI07 ((volatile unsigned int*)(0x4242821c))
#define PFI08 ((volatile unsigned int*)(0x42428220))
#define PFI09 ((volatile unsigned int*)(0x42428224))
#define PFI10 ((volatile unsigned int*)(0x42428228))
#define PFI11 ((volatile unsigned int*)(0x4242822c))
#define PFI12 ((volatile unsigned int*)(0x42428230))
#define PFI13 ((volatile unsigned int*)(0x42428234))
#define PFI14 ((volatile unsigned int*)(0x42428238))
#define PFI15 ((volatile unsigned int*)(0x4242823c))
#define PGI00 ((volatile unsigned int*)(0x42430200))
#define PGI01 ((volatile unsigned int*)(0x42430204))
#define PGI02 ((volatile unsigned int*)(0x42430208))
#define PGI03 ((volatile unsigned int*)(0x4243020c))
#define PGI04 ((volatile unsigned int*)(0x42430210))
#define PGI05 ((volatile unsigned int*)(0x42430214))
#define PGI06 ((volatile unsigned int*)(0x42430218))
#define PGI07 ((volatile unsigned int*)(0x4243021c))
#define PGI08 ((volatile unsigned int*)(0x42430220))
#define PGI09 ((volatile unsigned int*)(0x42430224))
#define PGI10 ((volatile unsigned int*)(0x42430228))
#define PGI11 ((volatile unsigned int*)(0x4243022c))
#define PGI12 ((volatile unsigned int*)(0x42430230))
#define PGI13 ((volatile unsigned int*)(0x42430234))
#define PGI14 ((volatile unsigned int*)(0x42430238))
#define PGI15 ((volatile unsigned int*)(0x4243023c))
#define PHI00 ((volatile unsigned int*)(0x42438200))
#define PHI01 ((volatile unsigned int*)(0x42438204))
#define PHI02 ((volatile unsigned int*)(0x42438208))
#define PHI03 ((volatile unsigned int*)(0x4243820c))
#define PHI04 ((volatile unsigned int*)(0x42438210))
#define PHI05 ((volatile unsigned int*)(0x42438214))
#define PHI06 ((volatile unsigned int*)(0x42438218))
#define PHI07 ((volatile unsigned int*)(0x4243821c))
#define PHI08 ((volatile unsigned int*)(0x42438220))
#define PHI09 ((volatile unsigned int*)(0x42438224))
#define PHI10 ((volatile unsigned int*)(0x42438228))
#define PHI11 ((volatile unsigned int*)(0x4243822c))
#define PHI12 ((volatile unsigned int*)(0x42438230))
#define PHI13 ((volatile unsigned int*)(0x42438234))
#define PHI14 ((volatile unsigned int*)(0x42438238))
#define PHI15 ((volatile unsigned int*)(0x4243823c))
#define PII00 ((volatile unsigned int*)(0x42440200))
#define PII01 ((volatile unsigned int*)(0x42440204))
#define PII02 ((volatile unsigned int*)(0x42440208))
#define PII03 ((volatile unsigned int*)(0x4244020c))
#define PII04 ((volatile unsigned int*)(0x42440210))
#define PII05 ((volatile unsigned int*)(0x42440214))
#define PII06 ((volatile unsigned int*)(0x42440218))
#define PII07 ((volatile unsigned int*)(0x4244021c))
#define PII08 ((volatile unsigned int*)(0x42440220))
#define PII09 ((volatile unsigned int*)(0x42440224))
#define PII10 ((volatile unsigned int*)(0x42440228))
#define PII11 ((volatile unsigned int*)(0x4244022c))
#define PII12 ((volatile unsigned int*)(0x42440230))
#define PII13 ((volatile unsigned int*)(0x42440234))
#define PII14 ((volatile unsigned int*)(0x42440238))
#define PII15 ((volatile unsigned int*)(0x4244023c))

#endif
